package com.hotelsystem.service;

import com.hotelsystem.pojo.RoomType;

import java.util.List;

public interface RoomTypeService {

    /**
     * 按房型名称查询房型信息并按房间状态查询房间信息
     * @param typeName 类型名称
     * @param status 状态名称
     * @return
     * @throws Exception
     */
    List<RoomType> listByTypeNameAndStatus(String typeName,String[] status) throws Exception;

    //查询出roomTypeAll
    List<RoomType> getAllRoomType() throws Exception;

    /**
     * 通过对象查询出信息
     * @param roomType
     * @return
     */
    List<RoomType> getRoomTypesByRoomType(RoomType roomType) throws Exception;

    /**
     * 查询出所对应的RoomType
     * @param roomTypeId
     * @return
     */
    RoomType getRoomTypeInfoById(Integer roomTypeId) throws Exception;
    /**
     * 修改RoomType
     * @param roomType
     * @return
     */
    Integer updateRoomTypeByRoomType(RoomType roomType) throws Exception;

    /**
     * 删除类型Id
     * @return
     */
    Integer deleteRoomTypeBytypeId(Integer roomTypeId) throws Exception;
    /**
     * 添加roomType
     * @param roomType
     * @return
     */
    Integer addRoomTypeByRoomType(RoomType roomType) throws Exception;
    /**
     * 根据Name查询RoomType
     * @param typeName
     * @return
     */
    RoomType getRoomTypeBytypeName(String typeName) throws Exception;
    /**
     * 通过类型查询出当前房屋可入住可预定的和 然后推出当前可用的房间数
     * @param roomTypeId
     * @return
     */
    Integer getAbleCheckInAndReserveSum(Integer roomTypeId) throws Exception;
}
